

package com.scs.application.modules.base.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.model.DataEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 耗材询价单实体对象
 *
 */
@TableName("material_inquiry")
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
@Accessors(chain = true)
public class MaterialInquiry extends DataEntity implements Serializable {

    /**
     * 参考单据标识
     */
    @Length(max = 20, message = "参考单据标识长度必须介于 0 和 20 之间")
    private String refId;

    /**
     * 医院ID
     */
    @NotNull(message = "医院ID不能为空")
    private String hospitalId;

    /**
     * 医院名称
     */
    @NotBlank(message = "医院名称不能为空")
    @Length(min = 1, max = 50, message = "医院名称长度必须介于 1 和 50 之间")
    private String hospitalName;

    /**
     * 询价单号
     */
    @NotBlank(message = "询价单号不能为空")
    @Length(min = 1, max = 20, message = "询价单号长度必须介于 1 和 20 之间")
    private String busKey;

    /**
     * 询价日期
     */
    @NotNull(message = "询价日期不能为空")
    private java.util.Date busDate;

    /**
     * 报价开始日期
     */
    @NotNull(message = "报价开始日期不能为空")
    private java.util.Date bidStartDate;

    /**
     * 报价截止日期
     */
    @NotNull(message = "报价截止日期不能为空")
    private java.util.Date bidEndDate;

    /**
     * 流程状态
     */
    @Length(max = 20, message = "流程状态长度必须介于 0 和 20 之间")
    private String flowStatus;

    /**
     * 科室id
     */
    @NotNull(message = "科室id不能为空")
    private String deptId;

    /**
     * 科室名称
     */
    @NotBlank(message = "科室名称不能为空")
    private String deptName;

}
